Cryptography enables communication of confidential information in untrusted environments. To ensure confidentiality, information is often transmitted in the form of ciphertext, generated with ciphers using cryptographic keys.
Symmetric-key cryptography is often the preferred method of secret communication due to its performance advantages over asymmetric, or public-key, cryptography.
A fundamental problem with symmetric-key cryptography is how to initially generate and establish a key agreed upon between the communicators. Typically, asymmetric cryptography is used for this purpose. However, asymmetric techniques rely on slow and complex operations, such as arithmetic exponentiation and querying certificate authorities for public keys. Moreover, asymmetric operations are often not quantum resistant, as efficient algorithms exist for quantum computers to break asymmetric ciphers like RSA and asymmetric key exchanges like Diffie-Helman.
Prior-art methods for generating and establishing symmetric keys, while avoiding asymmetric cryptography, also have significant shortcomings. For example, many techniques exist for generating keys based on the “principle of reciprocity”. These key-generation (keygen) techniques involve two devices sensing the same, or similar, wireless signals, to obtain sensed data. These keygen techniques then use a process called reconciliation to remove the differences between the signals sensed on different devices, operating in different locations. The reconciled signals then act as a symmetric key. However, basing keys on only sensed wireless signals creates several problems, including: the techniques are not always available because certain environmental conditions may limit the ability of sensors to sense the signals, the techniques may produce keys with insufficient entropy, and the techniques are vulnerable to attackers located near the sending or receiving hosts, who may sense similar signals and generate the same key.
Hence, what is needed in the art are systems and methods for automatically generating and establishing symmetric cryptographic keys without basing keys on only sensed wireless signals, and without sending any data, except for ciphertext, between hosts. By only sending ciphertext data between hosts, the systems and methods avoid certain active attacks, such as breaking Diffie-Helman key exchanges with man-in-the-middle techniques, as well as certain passive attacks, such as breaking Diffie-Helman key exchanges by observing the public keys sent between hosts and solving the discrete-log problem, which can be solved efficiently with quantum algorithms.